/******************************************************************************
	This file is a part of the Snapshot Bioinformatics Project

	Copyright (C) 2012-2013 Jarom Schow

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program.  If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/
#ifndef APP_MAIN_H
#define APP_MAIN_H

#include <QtCore/QString>

#include "Version.h"
#include "ProgressHandler.h"

class QApplication;
class QMainWindow;

class AppMain {
public:
	AppMain( int argc, char **argv, const QString &appName, const Bio::Version &version );
	virtual ~AppMain();

	int		exec();

	QString	getAppDataPath() const;
	QString	getTempPath() const;
	void	showURL( const QString &url ) const;

	Bio::Version	getVersion() const;

	virtual QMainWindow*	getMainWindow() const = 0;

private:

	void	setAppDataPath();

	QApplication	*m_app;
	QString			m_appDataPath;
	Bio::Version	m_version;
};

#endif // APP_MAIN_H